The present disclosure relates generally to nodes in a distributed system and, more specifically, to a distributed system with nodes that allow dynamic changes.
In a distributed system, such as a distributed cache system, there are multiple nodes, which may be replicas, in communication with one another to collectively do work and share information. In many such systems, each of these nodes must be manually configured as a pre-deployment step. For example, each must have a unique identifier provided to them by a system administrator in order for them to properly interoperate. This is in addition to other elements that are also provided to the node by the system administrator. Accordingly, having to provide the identifier in addition to other elements puts additional burden on the administrator of this system, as they must ensure that each node is configured with an identifier and that no two nodes share the same identifier as the result of two nodes sharing an identifier may be difficult to discover and result in unpredictable consequences. Similarly, the network address of a node (hostname and port) is also generally statically defined by the system administrator which is an example of some other elements that the administrator provides the node. Further, when the configuration of the replica nodes needs to change, for example the network address, the entire system must be stopped, reconfigured and restarted.
Accordingly, there is a desire and need for a method and system to allow such setting to dynamically change, without requiring a restart of the distributed system.